/*
 * Copyright 2020-2030 ALPHA LAB.Inc All Rights Reserved.
 */
package com.alphalab.framework.exception;

import com.alphalab.framework.types.MoErrorCodeEnum;

/**
 * dao层统一最高异常.继承非受检异常基类.
 * @author allen
 * @version 1.0.0 2020年3月15日
 */
public class MoDaoException extends MoRuntimeException {

	/**
	 * 默认错误码.
	 */
	public static final String DEFAULT_ERROR_CODE = 
			MoErrorCodeEnum.ERROR_DATA_ACCESS_EXCEPTION.getCode();
	
	/**
	 * 默认错误描述.
	 */
	public static final String DEFAULT_ERROR_MSG = 
			MoErrorCodeEnum.ERROR_DATA_ACCESS_EXCEPTION.getMsg();

	/**
	 * 初始化service层异常.
	 * @param cause 异常信息栈
	 */
	public MoDaoException(Throwable cause) {
		super(DEFAULT_ERROR_CODE, DEFAULT_ERROR_MSG, cause);
	}

	/**
	 * 初始化异常实例.
	 * @param newErrorCode 错误码
	 * @param message 错误描述
	 */
	public MoDaoException(String newErrorCode, String message) {
		super(newErrorCode, message);
	}

	/**
	 * 初始化异常实例.
	 * @param newErrorCode 错误码
	 * @param message 错误描述
	 * @param messageParams 错误描述占位符值
	 */
	public MoDaoException(String newErrorCode, String message, Object... messageParams) {
		super(newErrorCode, message, messageParams);
	}
		
	/**
	 * 初始化异常实例.
	 * @param newErrorCode 错误码
	 * @param cause 异常信息栈
	 */
	public MoDaoException(String newErrorCode, Throwable cause) {
		super(newErrorCode, cause);
	}
	
	/**
	 * 初始化异常实例.
	 * @param newErrorCode 错误码
	 * @param message 错误描述
	 * @param cause 异常信息栈
	 */
	public MoDaoException(String newErrorCode, String message, Throwable cause) {
		super(newErrorCode, message, cause);
	}

}
